Introduction
As the biodiversity crisis deepens, we are in constant need of new refined methods of mitigating human impacts on animals.
Developing mitigation strategies is aided by a strong understanding of animals lives and needs.
How animals move offers a window into their decisions making process (1,2), as well as how they prioritise resources, avoid threats, and react to anthropogenic modification of the environment.
Examinations of animal movement are frequently integrated into conservation plans (3) because of the insights they provide on habitat and space requirements; but also offer avenues to explore fundamental question about ecology.
For example, space use has been tied directly to body size connected via the energy requirements for animals (4), and movement has provided incredible insights into behaviour (5).
The information gathered from animal movement studies is only as robust as the methods and analysis applied.
In the past decade the volume of animal data has exploded (6,7), and the infrastructure for collating that data has improved drastically (8).
There are stand out examples of novel methods (9), and exceptionally detailed insights into animal behaviour using new bio-logging technology (e.g., (5)).
However, the on the whole analysis approaches to maximise the information extracted have arguably lagged behind the technological and data improvements (6).
The bodily cost of attaching bio-telemetry devices [with examples from reptiles (10); mammals (11); and birds (12)], as well as the possible conservation sensitivity of study animals, means we have an ethical duty to maximise the value/impact of the data collected.
Maximising the value of data should include ensuring that results gained are robust and replicable.
Meta-analyses have revealed that several textbook examples in ecology are not as universally replicable as once thought (13–16).
Whereas lab studies can more feasibly be repeated (although such replications are far from cheap), movement studies conducted on free-ranging wild animals are difficult to repeat while satisfactorily meeting the conditions of the true replication (17).
It is hard to justify placing bio-telemetry devices on more animals to repeat a study, especially when they are of conservation concern.
Studies tend to focus on larger, less vulnerable species (18,19), but as the benefits of detailed movement data grow we can expect greater demand for tracking species of conservation concern (3).
With the limited scope for repeating wild movement studies, and the desire to maximise study-to-benefit ratio for sensitive species, it is imperative that we maximise the quality of the initial studies.
Expanding pre-study planning and developing better approaches to guide study design may provide a partial solution (20).
Study scenarios where researchers have control over the environment, randomisation, and controls can satisfy the assumptions of many statistical approaches (21).
Movement studies conducted in the wild are fraught with uncontrollable confounding variables and often further restricted by sample sizes limited by ethics, capture rates, and cost of bio-telemetry equipment.
As the complexity of the research environment increases so must the analytical approach to account for the uncontrollable –but potentially extraneous to the question– variables.
Testing these analysis approaches, and their limitations therefore becomes more difficult to asses a priori.
A potential solution is virtual ecology: where synthetic data is simulated to cover a range of possible scenarios allowing researchers to explore different study approaches/designs with the aim of identifying the best for a given question (22).
Exploration of analysis methods using simulations can yield useful insights even for widely used techniques (e.g., GLMMs (23)).
Such an approach has the potential to adequately recreate the complex emergent properties that could hamper analyses (23).
The suite of tools for simulating aspects of ecological systems (e.g., landscapes 24,genetics 25,conservation choices 22,ecological community comparisons 26,resource selection 27) is growing, and some are explicitly focusing on aiding study design.
And there are examples of simulation approaching being directly tied to applied issues like human-wildlife conflict [e.g., snakes (28); tigers (29)].
Population monitoring studies offer us a great example of a mature relationship between simulated data, study design, and applied research, implemented in a complex study environment (30).
There are examples of simulated datasets being used to validate field protocols (e.g., camera trap effort 31,32) and analyses [e.g., accounting for species interactions (33), or difficult to account for variation in populations (34)].
More recently explicitly simulating animal movement processes rather than the population distribution has helped validate spatially-explicit capture recapture methods, but leaving questions concerning on the findings generalisably when drastically different movement process are present (30).
Once validated with real-world data, simulated explorations of study design presents opportunities to understand the trade-offs between effort and precision (32).
But similarly, disagreements on the implementation of surveying methods have led to further explorations of how we conceptualise and simulate animal processes (35).
As illustrated by the SECR example, different simulation approaches and different analyses accounting for different additional complexities offer different suggestions on the optimal study design.
There are a number of approaches for simulating animal movement including (but not limited to):
continuous movement processes, best exemplified by the ctmm package (36) and worked examples such as (37) and (30).
These methods rely on a mathematically defined movement process (such as Ornstein–Uhlenbeck foraging process (38)).
A key aspect of animal movement they simulate is correlated speeds and central tendency (i.e., home range).
hidden markov models, best exemplified by the simData function from the moveHMM package (39).
Their biggest contribution to simulating animal movement is the inclusion of state switching (i.e., different behaviours).
They are best used in conjunction with existing movement data for parametric bootstrapping to explore estimator uncertainty (39).
agent-based approach, is a bottom-up approach where simulations of an agent (e.g., an animal) are based upon a number of rules (40), and through repeatedly following those rules a complex output emerges, in our case the movement pathways in a landscape.
Previous examples of agent-based movement models have targeted specific key components of animal movements such as movement heavily constrained by landscape features (41), simulating memory/home range (42), or migratory behaviour (43).
Here we present an agent-based approach to supplement those existing simulations, which provides a unique combination of features.
The agent-based approach is well suited to explore a combination of the complexities of animal movement, and the emergent properties.
Our model does not requires fitting to prior movement data, allows for multiple predefined points of attraction/avoidance, multiple-levels of activity cycling, three behavioural states, and multiple spatial environmental covariates.
A new independently developed approach to simulating animal movement will provide a additional routes to test the robustness of movement analyses.
Methods
Overview of the agent-based model
The abmAnimalMovement package provides functionality to simulate animal movements via an agent-based model.
We wrote the model using C++ via Rcpp v.1.0.8.3 package (44–46) to ensure it runs efficiently while allowing for easier manipulation of model inputs and outputs via R (R is the most used analysis tool in movement ecology with numerous supporting packages (6,47).
The model aims simulates animal locations over a given period of time at discrete time steps.
At each time step the agent (i.e., simulated animal) is presented with a range of movement options in the form of new locations [Figure 2.2], and will chose from amongst these (i.e., sum-based model as opposed to facing a series of sequential binary decisions, see (2) for an example of the latter).
The possible movement options, and how the new location is selected, are influenced by several factors: behavioural state of the animal, environmental quality, and proximity to points of attraction/avoidance.
By simulating these drivers of animal movement, we hope to capture aspects of the internal state; (i.e., motivation to move via behaviour); motion capacity (i.e., the individual’s varying ability to move); navigation capacity (i.e., ability to plan ahead beyond the immediate movement distance); and external factors (i.e., the landscape that steers and limits movement), all of which are defined as key components of animal movement (40,48).
The animal has three behavioural states, broadly defined here as resting (or sheltering), exploring, and foraging.
Each behavioural state modifies the movement characteristics of the animal; for example, exploring comprises of more random movements with longer distances between points, whereas resting behaviour is largely defined by stationary or very low discrete movements.
The movement characteristics are defined by two distributions: a Gamma distribution that step lengths are drawn from, and a Von-Mises that turn angles are drawn from.
The resulting step length, combined with a turn angle describes the change in animal location between each time step (as selected from a given number of options).
We will largely define these based on the movement capacity of the animal over a minute.
As the simulation will be running with three behavioural states, we need to define how likely an animal is to switch between the behaviours.
We achieved this by creating a transition matrix that describes the probability at each time step of the animal changing to another behaviour [Figure 2.1].
The diagonal describes the probability of the animal remaining in the same behavioural state.
These probabilities can be kept very high to introduce autocorrelation in the behavioural state; a high autocorrelation is required if we are considering the time steps to be a minute.
## [,1] [,2] [,3]
## b0 0.9800 0.001 0.00001
## b1 0.0005 0.990 0.02000
## b2 0.0005 0.020 0.97000
Animals behaviour is frequently expressed via cycles, such as day/night or diel cycles; therefore, we want the transition matrix vary over time.
We describe a number of cycles (or waves) that can be applied to the core transition matrix impacting the probability of entering resting behaviour.
We can define as many cycles as needed, and they impact the resting probability additively.
When entering the resting state the animal will seek out a shelter site.
In the abmAnimalMovement package, we can supply a number of shelter sites to simulate this need and create site fidelity.
As these shelter sites at as points of attraction for the animal for each rest, the animal occupies a consistent area, or something approximating a home range.
Home ranges are mean to represent areas in which the animal can source all resources required for a given life stage.
The predefined and steady state of these shelter sites provides the stability we look for in a home range, as well as a means of predefining a level of site fidelity.
Using a point (or points) of attraction, is an approach that has reoccurred in movement and population ecology studies.
As the abmAnimalMovement model can have multiple attraction (rest) sites supplied we can simulate home ranges with unequal and behavioural influenced space use.
In addition to the predefined attraction to shelter sites, the abmAnimalMovement package allows for a more dynamic attraction to areas of high resource quality.
As movements cannot be directly translated to animal preference; for example, habitat preference may miss key movement corridors (49); or the habitat decisions may occur at scales much broader to movement (1).
Therefore, the simulation required a mechanism that somewhat detaches the preference/choice for observed movements.
When entering foraging mode, the animal randomly selects (but weighted towards areas of higher quality) foraging destinations as a point of attraction [Figure 2.2].
This attraction impacts the movement choices made at each time step, with the animal more likely to choose (and therefore move) options closer to the foraging destination.
Therefore, foraging destination choice operates on a different time frame to the movement and allows movements through low-quality foraging areas.
This presents a critical benefit of the simulation approach, as we define the internal state decision making process of the animal.
The two time frames also allows for explorations of assumptions connecting observed movement choices to choices regarding resources, and whether downstream analyses can accurately recover a hidden decision making process.
At all times the subsequent locations of the animal impacted by a movement resistance matrix.
Differing values represent different environmental conditions that could change how easily/likely an animal is to use that area to move towards a destination.
For example, rivers or hard barriers within a landscape could present very high movement resistance and a animal would aim to avoid traversing them.
Alternatively areas of lower movement resistance could aid movement, and potentially form movement corridors.
The movement matrix has values ranging from 0 to 1, that describes the movement probability.
Whereas the resource environmental layer and shelter locations interact with destination/goal decisions, the movement resistance affects the step-by-step movement decisions.
The interplay between shelter sites, foraging quality, and movement resistance simulates the site fidelity required for home ranges, while allowing the environment to help shape the size and diffusion of that home range.
Simulating a more dynamic and messy array of movements can help test how far assumptions of uniform circular animal movement are useful.
Generating three species
The best way to demonstrate the variation that movement ecology methods needs to wrangle, as well as the scope of movements the agent-based model can recreate, we provide three example species.
The examples cover a range of movement capacities, site fidelity, and resting/sheltering patterns.
None of the created examples are meant to directly match previously collected data on the species movements –there are alternative methods built to fit and simulate movements from existing data– instead the examples provide some biological context to demonstrate a range of simulation parametrisations.
We split these examples into a more detailed walk-through, and two whose parametrisations are included in the supplementary materials.
Primary example
Ecology and Objectives - Badger
Our primary example is based on a badger.
Badger occupy setts, in our example a two home/shelter sites, that they routinely return to (50,51).
When not at the sett the badger forages, and the foraging distances are impacted by resource position and movement capacity of the badger (i.e., how far can a badger feasibly travel for food from the sett).
The badger therefore expresses very high site fidelity, a range dictated by the spatial positioning of resources, and is subject to the movement resistance of the terrestrial environment.
We can draw on studies such as (50) and (52) to roughly gauge the speed of badgers (i.e., step length per minute).
How this speed differs between behaviours we more freely define, but use (50) reported maximum speed to guide more direct movements (e.g., state 0 and 1).
In particular (50) mentioned the heightened speeds moving from and to the setts.
We also want to allow the exploratory (state 1) movements to be great enough to occasionally exceed the normal home range or territory (53).
We can draw on statements regarding maximum distance travelled in a night from papers such as (52), (50), and (54) to approximate how distance foraging locations could be from a sett.
While also confirming the nocturnal activity cycle for the badger.
For the example, we will consider badgers as fully nocturnal, and with active periods lasting for around 8 hours each night (52,55).
The 8 hour active periods are not consistent throughout the year.
Badger occupying temperate areas are impacted by seasonal shifts that modify daylight hours and available resources (52,55).
Badger movements are also impacted by their territoriality, avoiding areas occupied by other badger groups, but also displaying occasional extra-territorial movements (51,53).
This suggests a general but not complete avoidance of areas.
We can broadly summarise the badger ecology we want to parametrise as follows:
Exhibits site fidelity via the use of two shelter sites
Movement speed approximated by summary statistics from previous studies, while constrained by terrestrial environment and territoriality
A 8-12 hour activity cycle, that shifts over the year
Secondary examples
We also provide example implementation of a vulture and king cobra -like movements, the exact values used can be found in the supplementary material.
Ecology and Objectives - Vulture
Unlike badgers and other terrestrially moving animals, vultures can move great distances with minimal obstruction [Figure 10.3].
Vultures can also move greater distances more rapidly (56), resulting in a more variable and distribution of step lengths (57–59) [Figure 10.2].
Similar to badgers vultures exhibit significant site fidelity, re-using roosting and nesting sites (60).
Such shelter sites could be predefined; for example, if shelter sites were known a priori discovered via the capture and tagged of animals, which in the case of birds is more likely.
Vultures also offer an opportunity to demonstrate how the underlying resource availability impact the movements of animals.
In the case of vultures, their moments have been seen to follow carcass, creating starkly contrasting areas where vultures will and will not travel (61) [Figure 10.3].
Vultures have a very similar cycle pattern to the badgers (just inverted), one defined by a standard 12 hours of activity during the day, and 12 hours of increased resting behaviour during the night.
The importance of simulating such cycles is made clear by vultures studies demonstrating that day-night cycles can impact rates of location collection (62).
How the the animals’ activity cycle and the probability of collected data interact could be key consideration for some research questions.
Again similar to badgers we would expect seasonal shifts in the form of an increase and decrease in activity depending on the time of year (56,57,63).
We can broadly summarise the vulture ecology we want to parametrise as follows:
Medium site fidelity via the use of multiple roosting/resting sites
Movement speed approximated by summary statistics from previous studies, with minimal landscape derived resistance
A 8-12 hour activity cycle, that shifts over the year
Ecology and Objectives - King Cobra - High resting variability
Whereas the previous two species have a very limited or single shelter sites, king cobras make use of a wider range of shelter sites distributed more widely over their home ranges (64,65).
These sites can also be larger, comprising burrow systems or rock complexes.
What more dramatically sets king cobras, and other snakes, apart is a vastly differing rest-forage cycle.
While snakes still exhibit a diel cycle, the intermittent depredation of large prey items and the time required sheltering to digest large meals results in a second broader activity cycle operating over a more widely observed diel cycle (65–68).
We can conceptualise this pattern as two additive cycles, one that will describe the daily activity cycle, and a second that describes the foraging and digestion cycle.
Seasonality also impacts king cobra activity.
As king cobras occupy tropical regions, the seasonality they experience is not as pronounced as the badger or vulture examples.
Overall king cobras have three activity cycles acting on three different scales.
In this example we can also demonstrate the movement resistance dramatically impacting movement possibilities.
King cobra movement can be limited by roads (69,70), where unless provided with crossing structures king cobras are vulnerable to vehicle hits [Figure 10.5].
In addition to roads presenting linear barriers across the landscape, king cobras face persecution when near or in human settlements (70,71).
Despite the risks, avoidance of such areas appears weak.
Finally, king cobra movement characteristics will be dramatically reduced compared to the vulture’s, but with similar shape to the badger with greater variability [Figure 10.4] as king cobras are known to range over large areas (64,65,72).
We can broadly summarise the king cobra ecology we want to parametrise as follows:
Lower site fidelity via the use of many shelter sites
Movement speed approximated by summary statistics from previous studies, with examples of very high landscape derived resistance
A 8-12 hour activity cycle, with a approximately weekly forage-digest cycle, and weak seasonality
Implementation
Required libraries
First step is to load some libraries that will help us organise and visualise the inputs and outputs of the simulation.
Only the abmAnimalMovement package is required for running the core simulation.
library(abmAnimalMovement)
library(dplyr)
library(reshape2)
library(ggplot2)
library(ggforce)
library(ggtext)
library(ggridges)
library(patchwork)
library(raster)
library(NLMR)
library(landscapetools)
We used R v.4.2.1 (73) via RStudio v.2022.2.2.485 (74), and made use rmarkdown v.2.14 (77), bookdown v.0.26 (78,79), tinytex v.0.39 (80,81), and knitr v.1.39 (82–84) packages to generate type-set outputs.
We the here v.1.0.1 package (85) to help with relative file path definition.
We used the dplyr v.1.0.9 and reshape2 v.1.4.4 packages for data manipulation (86,87).
We used ggplot2 v.3.3.6 for creating figures (88,89), with the expansions: ggridges v.0.5.3 (90), ggtext v.0.1.1 (91), ggforce v.0.3.3 (92), and patchwork v.1.1.1 (93).
We used the raster v.3.5.15 (94), sp v.1.4.7 (95–97), NLMR v.1.1 (98,99), and landscapetools v.0.5.0 packages (100,101) for generating environmental matrices.
Generating environmental matrices
To ensure that the simulation completed during this example is repeatable, we set a seed.
For the sake of simplicity the year the examples was written –2022– is used.
seed <- 2022
set.seed(seed)
Before starting to simulate animal movement we need to generate a landscape.
The landscapes in this case will take the form of matrices, where each cell is describing the quality of foraging, shelter, and movement ease.
The highest quality locations/cells are coded as 1, with quality decreasing as the values range down to 0.
The 1 to 0 quality values in each cell are later used to help the animal to chose how and where it moves throughout the landscape.
Depending on the behavioural state the weighing of which matrix/layer used will change (e.g., when in a resting behavioural state the shelter site quality layer is used).
For most applications a landscape would be known a priori, but for this demonstration and testing of methods we will use a selection of random generated landscape matrices [Figure 2.3].
To generate each layer (shelter, forage, movement) we use the NLMR package (neutral landscape models), and combine a selection of landscape generation methods with landscapetools (24).
We used a Gaussian field with an autocorrelation range of 40, a magnitude of variation across the landscape of 5, magnitude of variation in the scale of autocorrelation range of 0.2, and a mean of 0.5.
For foraging, we build on the Gaussian field already produced, allocating all values lower than 0.4 as 0 (i.e., no value for foraging), then normalising the remaining values between 0 and 1.
For a baseline movement resistance layer, we take the original Gaussian field and increase areas greater than 0.6 by 0.5 to allow areas of high resource quality to be easily accessible.
We also greatly increase the movement ease in “edge” habitat (+1), where values fall between 0.6 and 0.3.
Again we normalise between 0 and 1, where 1 are areas easily traversed.
The resulting environment is one with easily traversable edge areas, surrounding better quality foraging locations than can be moved into easily.
Shelter quality is intermediate; we increased areas where cell values were greater than 0.3 and lower than 0.7.
Thereby shelter sites are more likely to occur in the areas of higher foraging quality, but not in the core (i.e., <0.7), nor in the edge areas (<0.5).
This provides some balance between accessibility and proximity to resources.
The three matrices described provide a baseline for our examples, but can easily be modified for different scenarios [Figure 2.3].
Animal parameters
We parametrise shelter information in the following ways.
For the sett, we draw a single set of coordinates (shelterLocations) from the shelter quality layer, and define the size of the shelter site as 8 m (shelterSize).
Shelter site size describes the distance from a shelter site that the animal dramatically lowers its movements; 8 m allows for small movements near/within the sett during resting behaviour.
sampledShelters <- sampleRandom(raster(landscapeLayersList$shelter), 2,
ext = extent(0.45, 0.65, 0.45, 0.65),
rowcol = TRUE)
BADGER_shelterLocs <- data.frame(
"x" = sampledShelters[,2],
"y" = sampledShelters[,1])
BADGER_shelterSize <- 8
During the simulation the badger will randomly select a sett to return to, weighted by the values supplied via the shelter quality environmental layer [Figure 2.3], each time it enters the resting behavioural state.
The movement of the badger is set via the definition of three pairs of Gamma and Von Misses distributions.
Each behavioural state is provided with a Gamma distribution to describe the step lengths between locations, and a Von Mises to describe the turn angles.
We provide these via k_step and s_step arguments for the shape (k) and scale (\(\theta\)) of the step Gamma distributions, as well as mu_angle and k_angle for the mean (\(\mu\)) and concentration (\(\kappa\)) of the Von Mises distribution.
The perceptual range, in other words, where the badger decides to forage is set in a similar fashion.
Where destinationRange provides the shape (k) and scale (\(\theta\)) for the Gamma distribution describing distance of foraging locations, and destinationDirection provides the mean (\(\mu\)) and concentration (\(\kappa\)) the Von Mises distribution describing the angle which those locations can fall [Figure 2.4].
We can also alter the strength of attraction to the foraging destinations with destinationTransformation and destinationModifier, where a stronger attraction will lead to more direct movements to the destinations chosen.
The rescale value is a simple means of adjusting the environment layers to fit with the scale/unit that the step lengths are provided in.
In this case we are treating each cell as a 5m by 5m, thereby ensuring that our 2000x2000 matrix is sufficient for the badger to traverse without leaving.
The rescale value therefore allows high resolution movements on lower resolution environments, offering a crucial memory saving optimisation.
BADGER_k_step <- c(0.3*60, 1.25*60, 0.25*60)
BADGER_s_step <- c(0.8, 0.25, 0.5)
BADGER_mu_angle <- c(0, 0, 0)
BADGER_k_angle <- c(0.6, 0.99, 0.6)
BADGER_destinationRange <- c(3, 120)
BADGER_destinationDirection <- c(0, 0.01)
BADGER_destinationTransformation <- 2
BADGER_destinationModifier <- 2
BADGER_rescale <- 5
The territoriality is not simulated directly via other individuals, instead we approximate it by supplying a number of point locations the badger will avoid.
An alternative way of simulating this behaviour would be to create areas of high movement resistance prevent the badger from entering.
We provide a set of x, y coordinates of location to be avoided.
Alongside the locations we need to provide define how strongly the badger will avoid them using avoidTransformation and avoidModifier.
The avoidance behaviour will directly counteract the attraction to destination behaviour.
BADGER_avoidLocs <- data.frame(
"x" = c(1205, 1500, 1165),
"y" = c(980, 1090, 1250))
BADGER_avoidTransformation <- 2
BADGER_avoidModifier <- 4
We implement two cycles to capture the daily and seasonal cycles the badger experiences.
Both cycles are created by describing a wave defined by its amplitude, midline, offset (\(\phi\)) and frequency (\(\tau\)).
rest_Cycle is a mandatory input geared toward diel activity cycling, and any number of additive additional cycles can be supplied using additional_Cycles.
For our badger example, our 24 hour cycle modifies the probability of resting to result in rough 8 hour periods of activity.
This probability is modified by a seasonal wave increase the intensity of resting behaviour during a portion of the year, while not overwhelming a relatively stable diel cycle (i.e., badger will sleep longer during one part of the year).
A more extreme implementation of the second cycle could introduce hibernation behaviour.
BADGER_rest_Cycle <- c(0.40, 0.1, 24, 24)
## multiple cycle additions
c0 <- c(0.2, 0, 24* (365/2), 24* 365) # seasonal
BADGER_additional_Cycles <- rbind(c0)
BADGER_additional_Cycles
## [,1] [,2] [,3] [,4]
## c0 0.2 0 4380 8760
BADGER_behaveMatrix <- Default_behaveMatrix
BADGER_behaveMatrix[1,1] <- 0.95
BADGER_behaveMatrix[1,2] <- 0.005
BADGER_behaveMatrix[1,3] <- 0.005
BADGER_behaveMatrix[2,3] <- 0.01
## [,1] [,2] [,3] [,4]
## c0 0.2 0 24 96
## c1 0.2 0 4380 8760
VULTURE_movementMatrix <- landscapeLayersList$movement
VULTURE_movementMatrix[] <- 1
Running the simulation
We need to initially define a start location for our animal.
To introduce some more individual variation we can randomly vary this starting location, but we will restrict the start locations to be proximal to the centre of the environment.
For the simulation we need a vector of length 2, where the first value is the x location, the second is y.
startLocation <- sample(900:1100, 2, replace = TRUE)
We finally have some parameters that describe the scope and intensity of the simulation.
- How many time steps are simulated? In our examples we are operating under the assumption that one time step is equal to one minute.
timesteps
- How many options is the animal provided when deciding on its next location?
options
- How many destinations will the animal be able to chose from when it enters behaviour state 1 (foraging)?
des_options
We can then call all our settings we decided on previously describing badger behaviour and movement to run the simulation.
simSteps <- 24*60 *365
des_options <- 10
options <- 12
simRes <- abm_simulate(start = startLocation,
timesteps = simSteps,
des_options = 10,
options = 12,
k_step = BADGER_k_step,
s_step = BADGER_s_step,
mu_angle = BADGER_mu_angle,
k_angle = BADGER_k_angle,
rescale_step2cell = BADGER_rescale
shelterLocations = BADGER_shelterLocs,
shelterSize = BADGER_shelterSize,
avoidPoints = BADGER_avoid,
destinationRange = BADGER_destinationRange,
destinationDirection = BADGER_destinationDirection,
destinationTransformation = BADGER_destinationTransformation,
destinationModifier = BADGER_destinationModifier,
avoidTransformation = BADGER_avoidTransformation,
avoidModifier = BADGER_avoidModifier,
behave_Tmat = behaveMatTest,
rest_Cycle = BADGER_restData,
additional_Cycles = BADGER_cycleMat,
shelteringMatrix = BADGER_shelter,
foragingMatrix = BADGER_forage,
movementMatrix = BADGER_move)
Results
Outputs review
Once ran we can review the movement characteristics of the three species.
The simplest to examine is the movement speeds or step lengths.
During the simulation parametrisation we provided a rescale values to describe the the size of the cells describing environmental information (see rescale_step2cell argument).
The simulated movement will return the scaled values, so to plot something comparable to the input values we must rescale the simulated step lengths.
We can compare the inputs from Figure 2.4 to the observed outputs in Figure 3.1 and see that they largely agree as expected.
The turn angles are more variable, as the destination decisions and attraction to locations heavily influence the distribution overriding the parametrisation of the Von Mises.
Figure 10.2 and Figure 10.4 in the supplementary figure show the outputs for vulture and king cobra simulations.
We can review how the movements appear in space.
With the badger example the impact of the avoidance points is clearly visible [Figure 3.2a], whereas the lack of or weaker avoidance in vulture [Figure 3.2b] and king cobra [Figure 3.2c] makes the avoidance less influential.
The vulture’s movements and chosen foraging locations are largely to the east, demonstrating the impact of the underlying foraging quality environmental layer.
Foraging differences are also very apparent in the king cobra plot.
The highlighted sheltering behaviour means that the king cobra made fewer shifts to the foraging behaviour resulting in fewer dynamically selected foraging destinations.
The activity cycles and the timing of behavioural shifts is a key component in the simulations.
We can examine that the predefined cycles are resulting in expected patterns.
A year worth of data makes observing all but the broadest cycles difficult to visualise, so in Figure 3.4 we can look at several months worth of day as well as the daily cycle.
Badger and vulture daily cycles are largely the same [Figure 3.4a & b], with a consistent daily activity cycle differing only slightly in the time spent active and balance between shifts from sheltering to foraging and exploring.
Some of the differences are a result of the different behavioural transition matrix provided to simulated the two species, where both had different baseline probabilities of shifting between behavioural states.
By contrast, the king cobra example demonstrates the interaction between the daily and weekly cycle we input [Figure 3.4].
We can see we intermittently get extended sheltering periods, punctuated by short exploratory or foraging bouts.
At the daily and monthly scale we cannot see the impact of the broad scale seasonal cycles.
Instead we can look at the percentage of time steps per day the animal was in sheltering behaviour [Figure 3.5].
Again the Badger and Vulture sheltering rates are similar, differing in intensity, but with both demonstrating a seasonal decrease in the middle of the simulation.
The king cobra cycles reveals an decrease in the number of days spent entirely sheltering, and an overall impression that the seasonal cycle is less influential (as it is only one of three activity cycles).
Discussion / Conclusion
Animal movement datasets are complex and require a suite of analytical approaches to tackle satisfactorily.
Efforts to develop new, and test existing analyses would be aided by access to a range of diverse datasets.
While ideal simulations often accompany new analysis methods –and provide superb validation for the method in question– reaffirming the robustness and pushing those methods to new limits with a messier, more stochastic, simulation approach could greatly strength out confidence in results.
The abmAnimalMovement package provides an independent route to test new methods that does not use an underlying mathematical movement process.
By including a range of features linked to movement and behaviour, the abmAnimalMovement package can be implemented to investigate a suite of commonly asked of movement data –from habitat selection, to behaviour detection (for examples of common themes see (6)).
While some of the features can appear simplistic, there remains ample flexibility to simulate a wide range of useful scenarios.
For example, we conceptualise the three movement states as resting, exploring, and foraging.
However, only several aspects are immutable: one state exhibits site fidelity (state 0), one state is free from all attraction (state 1), and one state is driven by an underlying environmental layer (state 2).
The abmAnimalMovement package has an advantage over data-driven simulation methods in scenarios where data is scarce, as much of the animal world is untracked (6,18).
For the untracked animals we may be limited to basic information of speed, activity, and resources, or such information may even need to be inferred from ecologically similar species.
In such data starved situations, the abmAnimalMovement package’s low computational cost and minimal data requirements allows for a large number of alternative parametrisations to be explored.
Via the explorations of different parametrisations researchers can help build a picture of the study and analysis methods best suited for their questions, with the opportunity to test those analyses on synthetic simulated data.
Producing a range of simulated datasets that cover alternate scenarios may present researchers opportunities to test real data against a null model.
For example, researchers looking to investigate whether an animal was avoiding a certain landscape feature could calibrate a number of simulations covering a range of differing avoidance strengths.
The simulated results could then be compared to the real data to gauge how different the real data was from simulations exhibiting zero avoidance (i.e., a null model scenario).
This approach could compliment current analysis methods, akin to sensitivity analysis.
Future directions
The abmAnimalMovement package provides adequate functionality to simulate a range of scenarios and movements.
However, there are several aspects that will bear updating in future versions.
Dynamic state 0. While state 0 and the steady state of the attraction locations is key to simulate range stability (i.e., home range), there maybe scenarios where this stability is not desired.
For example, simulating dispersal behaviour of juvenile or sub-adult animals there may be a desire to have shelter site dynamically chosen for a time.
Currently such behaviour could be simulated, but it would require the dispersal to occur immediately, and the dispersal destination to be predefined (i.e., the sites for state 0 attraction).
Therefore, in the current state the package may be limited in its ability to help predict possible dispersal destination, but potentially capable of informing dispersal routes.
Autocorrelated speed. We may need to improve the autocorrelation of the animal’s speed.
Currently the speeds are non-independent based on the behavioural mode the animal is in.
The need to implement a more aggressive movement momentum/autocorrelative structure may be felt more acutely at different time frames, and for animals with a great variation in step lengths (i.e., a larger \(\theta\) for the Gamma distribution).
Explorations of simulated data using methods that measure autocorrelation in animal speed will reveal how much of a priority this should be.
Dynamic environment. All the environmental matrices are static, currently there is no system to update values during the simulation.
This prevents shifts in the landscape such as seasonal variation in resources, or the development of trails.
Currently the closest solution is to run multiple simulations where the end location of simulation x1 is the start location for x2, where x2 is provided with a new season-appropriate resource layer.
This solution would be inadequate for trail development, as trail development would require a system within the simulation to update previously used cells for the animal at each time step.